package com.googlecode.autopp.driver.test;

import java.awt.Color;
import java.net.URI;
import java.net.URL;
import java.util.Date;

import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * POJO with all hendled types.
 */
public class Pojo1 {

    public enum Letter {
        A, B, C, D, E, F;
    }

    private String string;
    private Date date;
    private Letter letter;

    private URI uri;
    private URL url;
    private Color color;

    private int integerPrim;
    private long longPrim;
    private boolean booleanPrim;
    private float floatPrim;
    private double doublePrim;
    private byte bytePrim;

    private Integer integerObj;
    private Long longObj;
    private Boolean booleanObj;
    private Float floatObj;
    private Double doubleObj;
    private Byte byteObj;

    public String getString() {
        return string;
    }

    public void setString(String string) {
        this.string = string;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public URI getUri() {
        return uri;
    }

    public void setUri(URI uri) {
        this.uri = uri;
    }

    public URL getUrl() {
        return url;
    }

    public void setUrl(URL url) {
        this.url = url;
    }

    public Color getColor() {
        return color;
    }

    public void setColor(Color color) {
        this.color = color;
    }

    public int getIntegerPrim() {
        return integerPrim;
    }

    public void setIntegerPrim(int integerPrim) {
        this.integerPrim = integerPrim;
    }

    public long getLongPrim() {
        return longPrim;
    }

    public void setLongPrim(long longPrim) {
        this.longPrim = longPrim;
    }

    public boolean isBooleanPrim() {
        return booleanPrim;
    }

    public void setBooleanPrim(boolean booleanPrim) {
        this.booleanPrim = booleanPrim;
    }

    public float getFloatPrim() {
        return floatPrim;
    }

    public void setFloatPrim(float floatPrim) {
        this.floatPrim = floatPrim;
    }

    public double getDoublePrim() {
        return doublePrim;
    }

    public void setDoublePrim(double doublePrim) {
        this.doublePrim = doublePrim;
    }

    public Integer getIntegerObj() {
        return integerObj;
    }

    public void setIntegerObj(Integer integerObj) {
        this.integerObj = integerObj;
    }

    public Long getLongObj() {
        return longObj;
    }

    public void setLongObj(Long longObj) {
        this.longObj = longObj;
    }

    public Boolean getBooleanObj() {
        return booleanObj;
    }

    public void setBooleanObj(Boolean booleanObj) {
        this.booleanObj = booleanObj;
    }

    public Float getFloatObj() {
        return floatObj;
    }

    public void setFloatObj(Float floatObj) {
        this.floatObj = floatObj;
    }

    public Double getDoubleObj() {
        return doubleObj;
    }

    public void setDoubleObj(Double doubleObj) {
        this.doubleObj = doubleObj;
    }

    public Letter getLetter() {
        return letter;
    }

    public void setLetter(Letter letter) {
        this.letter = letter;
    }

    public byte getBytePrim() {
        return bytePrim;
    }

    public void setBytePrim(byte bytePrim) {
        this.bytePrim = bytePrim;
    }

    public Byte getByteObj() {
        return byteObj;
    }

    public void setByteObj(Byte byteObj) {
        this.byteObj = byteObj;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

}